package org.wevil.enumu;

import lombok.Getter;

/**
 * 前端返回状态码
 * */
@Getter
public enum ResultEnum {

    FAIL(0, "请求失败"),
    SUCCESS(1, "请求成功"),
    BLANK(2, "未查询到数据"),
    PARAMS(3, "参数不正确"),
    REPEAT(4, "数据已存在"),
    Unauthorized(5, "请求要求用户的身份认证"),
    AUTH_FAIL(6, "没有权限"),
    NOT_FOUND(7, "地址不存在"),
    ERROR(8, "服务器出错");

    private final Integer code;
    private final String value;

    ResultEnum(Integer code, String value) {
        this.code = code;
        this.value = value;
    }

    /**
     * 根据code匹配枚举
     *
     * @author wanglei
     * @since 2023-11-23
     */
    public static ResultEnum match(Integer code){
        for (ResultEnum enu : ResultEnum.values()) {
            if (enu.code.equals(code)) {
                return enu;
            }
        }
        return null;
    }

    /**
     * 通过key获取value
     *
     * @author wanglei
     * @since 2023/10/19
     * */
    public static String getValue(String key) {
        for (ResultEnum enu : ResultEnum.values()) {
            if (enu.name().equals(key)) {
                return enu.getValue();
            }
        }
        return null;
    }

}
